package io.dbw.common.utils;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.formula.functions.T;

import java.util.List;

@Slf4j
public class JsonUtil {
 
	/**
     * JSON 转 POJO
     */
     public static <T> T jsonToObject(String jsonStr, Class<T> tclass) {
        try {
        	if(StringUtils.isEmpty(jsonStr)) {return null;}
            return JSONObject.parseObject(jsonStr, tclass);
        } catch (Exception e) {
        	log.error(tclass + "转 JSON 失败");
        }
        return null;
     }
     
     /**
      * POJO 转 JSON    
      */
     public static <T> String objectToJson(T tResponse){
         String pojo = JSONObject.toJSONString(tResponse);
         return pojo;
     }
     
     /**
      * List<T> 转 json 保存到数据库
      */
     public static <T> String listToJson(List<T> ts) {
         String jsons = JSON.toJSONString(ts);
         return jsons;
     }

     /**
      * json 转 List<T>
      */
     public static <T> List<T> jsonToList(String jsonString, Class<T> clazz) {
         List<T> ts = (List<T>) JSONArray.parseArray(jsonString, clazz);
         return ts;
     }


}
